/**
 * 
 */
package br.flf.webchat.negocio;

import java.util.List;

import javax.faces.FacesException;

import br.flf.webchat.entidades.Cliente;
import br.flf.webchat.entidades.DialogoTO;
import br.flf.webchat.entidades.Funcionario;
import br.flf.webchat.excecoes.NegocioException;

/**
 * @author Nathan
 *
 */
public interface IControleAtendimentoFuncionarioBO {

	/**
	 * Cadastra um funcionario para atendimento.
	 * @param funcionario
	 * @throws FacesException
	 */
	void cadastrarFuncionarioParaAtendimento(Funcionario funcionario)
			throws FacesException;
	
	List<Cliente> obterListaDeClientesParaAtendimento();
	
	DialogoTO iniciarAtendimento(Funcionario funcionario) throws NegocioException;

	void pararAtendimento(Funcionario funcionario);

	Funcionario obterFuncionarioProntoParaAtendimento() throws NegocioException;

	void cancelarAtendimento(Funcionario funcionario);

}
